package com.zoke.nebbox.tools;

import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.text.TextUtils;
import android.widget.Toast;

import com.zoke.neb.avatar.LogUtil;
import com.zoke.nebbox.R;

import java.util.HashMap;

/**
 * 星云工具类
 * Created by donald99 on 18/5/23.
 */

public class Util {
    public static String getRandomCode(int length) {
        String random = "";

        String abc = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

        for (int i = 0; i < length; i++) {
            double v = Math.random() * abc.length();
            v = Math.floor(v);
            random += abc.charAt((int) v);
        }
        return random;
    }

    /**
     * 判断一个应用程序是否安装
     *
     * @param context
     * @param packagename
     * @return
     */
    public static boolean isAppInstalled(Context context, String packagename) {
        PackageInfo packageInfo;
        try {
            packageInfo = context.getPackageManager().getPackageInfo(packagename, 0);
        } catch (PackageManager.NameNotFoundException e) {
            packageInfo = null;
            e.printStackTrace();
        }
        if (packageInfo == null) return false;
        return true;
    }

    /**
     * 调用第三方浏览器打开
     *
     * @param context
     * @param url     要浏览的资源地址
     */
    public static void openBrowser(Context context, String url) {
        final Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.setData(Uri.parse(url));
        if (intent.resolveActivity(context.getPackageManager()) != null) {
            intent.resolveActivity(context.getPackageManager());
            context.startActivity(Intent.createChooser(intent, "请选择浏览器"));
        } else {
            Toast.makeText(context.getApplicationContext(), "请下载浏览器", Toast.LENGTH_SHORT).show();
        }
    }

    public static void init() {
        hashMap.put(".3gp", R.mipmap.video);
        hashMap.put(".apk", R.mipmap.apk);
        hashMap.put(".asf", R.mipmap.video);
        hashMap.put(".avi", R.mipmap.video);
        hashMap.put(".bin", R.mipmap.unknown);
        hashMap.put(".bmp", R.mipmap.pic);
        hashMap.put(".bmp", R.mipmap.pic);
        hashMap.put(".c", R.mipmap.unknown);
        hashMap.put(".class", R.mipmap.unknown);
        hashMap.put(".conf", R.mipmap.unknown);
        hashMap.put(".cpp", R.mipmap.unknown);
        hashMap.put(".doc", R.mipmap.word);
        hashMap.put(".exe", R.mipmap.unknown);
        hashMap.put(".gif", R.mipmap.pic);
        hashMap.put(".htm", R.mipmap.txt);
        hashMap.put(".html", R.mipmap.txt);
        hashMap.put(".jar", R.mipmap.zip);
        hashMap.put(".jpeg", R.mipmap.pic);
        hashMap.put(".jpg", R.mipmap.pic);
        hashMap.put(".m3u", R.mipmap.mp3);
        hashMap.put(".m4a", R.mipmap.mp3);
        hashMap.put(".m4b", R.mipmap.mp3);
        hashMap.put(".m4p", R.mipmap.mp3);
        hashMap.put(".m4u", R.mipmap.video);
        hashMap.put(".m4v", R.mipmap.video);
        hashMap.put(".mov", R.mipmap.video);
        hashMap.put(".mov", R.mipmap.video);
        hashMap.put(".mp2", R.mipmap.mp3);
        hashMap.put(".mp3", R.mipmap.mp3);
        hashMap.put(".mp4", R.mipmap.video);
        hashMap.put(".mpe", R.mipmap.video);
        hashMap.put(".mpeg", R.mipmap.video);
        hashMap.put(".mpg", R.mipmap.video);
        hashMap.put(".mpg", R.mipmap.video);
        hashMap.put(".pdf", R.mipmap.pdf);
        hashMap.put(".png", R.mipmap.pic);
        hashMap.put(".ppt", R.mipmap.ppt);
        hashMap.put(".rar", R.mipmap.zip);
        hashMap.put(".rmvb", R.mipmap.video);
        hashMap.put(".rar", R.mipmap.zip);
        hashMap.put(".txt", R.mipmap.txt);
        hashMap.put(".tgz", R.mipmap.zip);
        hashMap.put(".wav", R.mipmap.mp3);
        hashMap.put(".wma", R.mipmap.mp3);
        hashMap.put(".wmv", R.mipmap.mp3);
        hashMap.put(".wps", R.mipmap.word);
        hashMap.put(".zip", R.mipmap.zip);
        hashMap.put(".xls", R.mipmap.xls);
        hashMap.put(".psd", R.mipmap.psd);
        hashMap.put(".docx", R.mipmap.word);
    }


    public static HashMap<String, Integer> hashMap = new HashMap<>();

    public static int getRes(String name) {
        if (TextUtils.isEmpty(name)) {
            return R.mipmap.unknown;
        }
        name = name.substring(name.lastIndexOf("."));
        LogUtil.e(name);
        if (hashMap.containsKey(name)) {
            return hashMap.get(name);
        }
        return R.mipmap.unknown;
    }

}
